package YAVMM::Console::VNC;
use Moose;

extends 'YAVMM::Object';

has 'address' => (
    is        => 'rw',
    isa       => 'Str',
    documentation => 'Set the IP address VNC is listening on. Default is any address',
);

has 'port'    => (
    is        => 'rw',
    isa       => 'Int',
    documentation => 'Set the TCP port VNC is listening on',
);

has 'password' => (
    is        => 'rw',
    isa       => 'Str|Undef',
);

has 'tls'     => (
    is        => 'rw',
    isa       => 'Bool',
    default   => 0,
    documentation => 'Require that client use TLS when communicating with the VNC server. It is recommended that this option be combined with either the x509 option.',
);

has 'x509'    => (
    is        => 'rw',
    isa       => 'Str',
    documentation => 'Set the x509 file directory',
);

# x509verify
# acl

has 'sasl'    => (
    is        => 'rw',
    isa       => 'Bool',
    default   => 0,
    documentation => 'Require that the client use SASL to authenticate with the VNC server.',
);

has 'lossy'   => (
    is        => 'rw',
    isa       => 'Bool',
    default   => 0,
    documentation => 'Enable lossy compression methods'
);

with 'YAVMM::Console';

__PACKAGE__->meta->make_immutable;
no Moose;
1;


__END__

=head1 NAME

YAVMM::Console::VNC - VNC console settings for a YAVMM Guest

=head1 SEE ALSO

L<QEMU VNC security docs|http://qemu.weilnetz.de/qemu-doc.html#vnc_005fsecurity>
